This application claims the priority of Korean Patent Application Nos. 2003-93109 and 2004-33065, filed on Dec. 18, 2003, and May 11, 2004, respectively, in the Korean Intellectual Property Office, the disclosures of which are incorporated herein in their entirety by reference.
1. Field of the Invention
The present invention relates to an apparatus for transmitting and receiving a Forward Error Correction (FEC) frame in a TDMA system optimized to a transmission rate for variable-length frame transmission that performs a FEC encoding/decoding of a frame having various lengths in a TDMA system in frames, and provides all of frames with the same processing delay time, and a method of using the same.
2. Description of the Related Art
A full duplex TDMA system used to understand an influence of a processing delay time of FEC in a TDMA system can be, for example, a conventional Ethernet-Passive Optical Network (PON) system.
Referring to FIG. 1, an Ethernet-PON system performs the role of point-to-multipoint Ethernet link in order to allow communications between an Optical Link Termination (OLT) and an Optical Network Unit (ONU) and between an ONU and an ONU in a PON distribution network. ONUs are connected the OLT through 1×n splitter. Transmission from the ONU to the OLT is referred to as an upstream transmission, and transmission from the OLT to the ONU is referred to as a downstream transmission. In a PON, an Ethernet frame of a downstream transmission physically has transmission characteristics of broadcast that are received by all of the ONUs. However, an Ethernet frame of an upstream transmission is incapable of being transmitted from the ONU to another ONU.
Due to these PON characteristics, a MultiPoint Control Protocol (MPCP) function that controls a frame transmission time of each ONU is used to prevent collision between frames when a plurality of ONUs transmit Ethernet frames upstream to the OLT. The OLT determines an upstream transmission time available for each of the ONUs and informs the OLT of the upstream transmission times, the ONU transmits Ethernet frames upstream to the OLT during the designated transmission times determined by the OLT. Since the OLT should know if there is an Ethernet frame to be transmitted upstream from the ONU to the OLT in order to determine a transmission time, the ONU notifies the OLT in advance whether there is an Ethernet frame to be transmitted upstream. As such, information for performing upstream TDMA is delivered between the OLT and the ONU. In this regard, a Media Access Control (MAC) layer generates and terminates a MPCP MAC control frame having the information for performing the upstream TDMA.
Each of the ONUs locates at a predetermined distance from the OLT in a PON distribution network. When the OLT assigns an upstream transmission time to the ONU using a TDMA method, it is necessary for the upstream transmission time to be compensated for as much as a Round Trip Time (RTT). Through the compensation, there is no possibility of collision of upstream signals when OLT receives the upstream signals. Every Ethernet frame should have an equal data processing delay time at the OLT and the ONU in order to accurately measure ranging, which is equally applied to FEC.
When using FEC, additional information besides data should be transferred in order to correct an error. The additional information reduces the data transmission rate. Therefore, when a transmission medium state is good, a FEC function can be blocked.
FIG. 1 is a block diagram of an Ethernet-PON system as an example of a conventional TDMA system. Referring to FIG. 1, since distances between the OLT and each of the ONUs are different from each other in the Ethernet-PON system, the links have different transmission characteristics. A predetermined link must employ FEC in order to have link quality required by a system. However, another predetermined link may satisfy a link quality without FEC. In this case, the ONU of a link that does not require FEC blocks a FEC function and prevents a transmission rate reduction caused by additional information transmission for FEC.
In this case, the OLT receives both a FEC encoded frame and a FEC unencoded frame from a plurality of ONUs that share a transmission medium. The OLT FEC encodes a data frame and transmits the encoded data frame to a predetermined ONU, and does not FEC encode a data frame and transmits it to another predetermined ONU. Therefore, an OLT that can perform FEC can optionally perform a FEC function on/off in frames. The simplest process is to bypass the FEC function.
The bypassing of the FEC function during the data transmission in a TDMA system is identical to changing a FEC processing delay time, thereby making it difficult to control medium of a master. Therefore, FEC can be bypassed by performing a matching delay that takes a processing delay time of a FEC function block into consideration.
A Reed-Solomon code, which is a strongest block code against a burst error and widely used in FEC, usually operates in a Galois Field (GF) 256, and is expressed by RS (n, k, t), where n is the length of a Reed-Solomon codeword, k is the length of a message, and t is the number of bytes required to correct an error. A Reed-Solomon code adds a parity r(x) having (n-k) bytes to a message m(x) having k bytes to constitute a codeword c(x) having n bytes as indicated by Equation 1 below. Errors of predetermined t bytes that occur in a codeword c(x) having n bytes can all be corrected.m(x)=Mk−1xk−1+mk−2xk−2+ . . . +m1x+m0 r(x)=Rg(x)[x2tm(x)]c(x)=xn−km(x)+r(x)  [Equation 1]
A Reed-Solomon encoder generates c(x) by adding m(x) to a remainder of m(x) multiplied by x2t divided by a generating polynomial g(x), and has a structure as shown in FIG. 2.
FIG. 2 is a block diagram of a conventional Reed-Solomon encoder. FIG. 2 shows an example of an RS(255, 239, 8) encoder. When a selection signal X is “1”, the Reed-Solomon encoder receives an input message, divides the input message by the generating polynomial g(x), and receives a final input message to store r(x) in a register. When a selection signal is Y, stored r(x)s are output sequentially.
FIG. 3 is a block diagram of a conventional Reed-Solomon decoder. Referring to FIG. 3, the Reed-Solomon decoder locates the position and size of an error from a received codeword r(x)=c(x)+e(x) and generates an error e(x), and removes the error e(x) from r(x) to restore c(x). To this end, the Reed-Solomon decoder comprises a syndrome calculation block 301, an error location polynomial block 302, an error location detection block 303, an error magnitude detection block 304, and an error correction block 305.
The syndrome calculation block 301 substitutes a root of the generating polynomial g(x) into the received data r(x) to generate a syndrome polynomial S(x) with respect to an error. The error location polynomial block 302 generates an error location polynomial Λ(X) and an error magnitude polynomial Ω(X) from the syndrome polynomial S(x). The error location detection block 303 detects the location of the error from the error location polynomial Λ(X) using a Chien search algorithm. The error magnitude detection block 304 detects the magnitude of the error from the error magnitude polynomial Ω(X) using a Formey algorithm. The detected error magnitude and location are logically multiplied (AND) to be an error value e(x) of the corresponding location. The error correction block 305 subtracts e(x) from r(x), which is delayed by a time required to perform Reed-Solomon decoding and output the error corrected codeword c(x).
The Reed-Solomon encoder outputs an input message directly and theoretically has no delay. However, When the Reed-Solomon encoder processes a shortened code, delay is caused because of a zero-padding.
For example, when the length of a message is (k−1) bytes, the actual message is given by Equation 2 below, and the corresponding zero-padded message is given by Equation 3 below.m(x)=mk−1xk−1−l+mk−2xk−2−l+ . . . +m1x+m0  [Equation 2]m(x)=0·xk−1+0·xk−2+ . . . +mk−1xk−1−l+mk−2xk−2−l+ . . . +m1x+m0  [Equation 3]
Zero-padding causes an first 1 byte of a codeword to have a value of 0, which is removed before being output from the Reed-Solomon encoder. This process results in a difference of a blank of 1 byte between a normal Reed-Solomon codeword and a shortened codeword which are output consecutively. Thus, an output of a normal codeword must be delayed by 1 byte in order to compensate for the blank of 1 byte. In the same manner as the Reed-Solomon encoder, the Reed-Solomon decoder removes a padded zero when outputting an error corrected codeword, which also delays a processing time. During the consecutive Ethernet frame transmission, a delay caused by a zero-padding causes overlapping of codewords in adjacent frames. An Inter Frame Gap (IFG) between consecutive frames should be provided in consideration of zero-padding in order to prevent codewords from being overlapped. This increases the length of a frame, causing a reduction in a transmission rate. In an Ethernet frame transmission, a zero-padding reduces a transmission rate by about 35%.
Accordingly, a method that effectively decreases a reduction in a transmission rate caused by zero-padding and equalizes delays of frames having different lengths is necessary.